package com.py.credit.service;

import com.py.credit.entity.GatewayUserEntity;

/**
 * 对外接口鉴权数据Service
 *
 * @author Leegern
 * @date 2018年4月26日
 */
public interface GatewayAuthenticationService {

    /**
     * 缓存用户会话信息
     *
     * @param jdToken 用户令牌
     * @param user    用户信息
     */
    void putUserSessionData(String jdToken, GatewayUserEntity user);

    /**
     * 清空用户会话缓存数据
     *
     * @param jdToken 用户令牌
     */
    void clearUserSessionData(String jdToken, GatewayUserEntity gatewayUserEntity);

    /**
     * 获取当前用户信息
     *
     * @param token
     * @return
     * @throws Exception
     */
    GatewayUserEntity getCurrentUserInfo(String token) throws Exception;

    /**
     * 清空用户所有token
     *
     * @param usernameId 用户名+id
     */
    void clearUserSessionAllToken(String usernameId);

    /**
     * 刷新用户所有token
     *
     * @param gatewayUserEntity 用户实体类
     */
    void refreshUserSessionAllToken(GatewayUserEntity gatewayUserEntity);
}